import pandas as pd
import numpy as np

# 设定随机种子（保证可重复性）
np.random.seed(42)

# 生成50行数据
data = {
    '大小(cm)': [],
    '颜色': [],
    '水果名称': []
}

# 定义水果的规则
fruit_rules = {
    '苹果': {'大小范围': (5, 10), '可能颜色': ['红', '绿', '黄']},
    '香蕉': {'大小范围': (15, 25), '可能颜色': ['黄']},
    '葡萄': {'大小范围': (1, 3), '可能颜色': ['紫', '绿']}
}

# 随机生成数据
for _ in range(50):
    # 随机选择一个水果
    fruit = np.random.choice(['苹果', '香蕉', '葡萄'], p=[0.4, 0.3, 0.3])
    # 生成对应大小和颜色
    size = np.random.uniform(*fruit_rules[fruit]['大小范围'])
    color = np.random.choice(fruit_rules[fruit]['可能颜色'])
    # 添加到数据中
    data['大小(cm)'].append(round(size, 1))
    data['颜色'].append(color)
    data['水果名称'].append(fruit)

# 创建DataFrame
df = pd.DataFrame(data)

# 保存为CSV文件
df.to_csv('水果数据集.csv', index=False)
print(df.head(10))  # 查看前10行